/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package app.algo;

/**
 *
 * @author bharat
 */
public class SiftSettings {

    /** default number of sampled intervals per octave */
    public static final int SIFT_INTERVALS = 3;

    /** default sigma for initial gaussian smoothing */
    public static final double SIFT_SIGMA = 1.6;

    /** default threshold on keypoint contrast |D(x)| */
    public static final double SIFT_CONTRAST_THRESOLD = 0.04;

    /** default threshold on keypoint ratio of principle curvatures */
    public static final int SIFT_CURVATURE_THRESOLD = 10;
    
    /** double image size before pyramid construction? */
    public static final boolean SIFT_IMAGE_DOUBLE = true;

    /** default width of descriptor histogram array */
    public static final int SIFT_DESCRIPTOR_WIDTH = 4;

    /** default number of bins per histogram in descriptor array */
    public static final int SIFT_DESCRIPTOR_HIST_BINS = 8;

    /* assumed gaussian blur for input image */
    public static final double SIFT_INIT_SIGMA = 0.5;

    /* width of border in which to ignore keypoints */
    public static final int SIFT_IMG_BORDER = 5;

    /* maximum steps of keypoint interpolation before failure */
    public static final int SIFT_MAX_INTERPOLATION_STEPS = 5;

    /* default number of bins in histogram for orientation assignment */
    public static final int SIFT_ORI_HIST_BINS = 36;

    /* determines gaussian sigma for orientation assignment */
    public static final double SIFT_ORI_SIG_FCTR = 1.5;

    /* determines the radius of the region used in orientation assignment */
    public static final double SIFT_ORI_RADIUS = 3.0 * SIFT_ORI_SIG_FCTR;

    /* number of passes of orientation histogram smoothing */
    public static final int SIFT_ORI_SMOOTH_PASSES = 2;

    /* orientation magnitude relative to max that results in new feature */
    public static final double SIFT_ORI_PEAK_RATIO = 0.8;

    /* determines the size of a single descriptor orientation histogram */
    public static final double SIFT_DESCR_SCL_FCTR = 3.0;

    /* threshold on magnitude of elements of descriptor vector */
    public static final double SIFT_DESCR_MAG_THR = 0.2;

    /* factor used to convert floating-point descriptor to unsigned char */
    public static final double SIFT_INT_DESCR_FCTR = 512.0;
}
